C++ Qt : Check the current State of QStateMachine
全部标签Qt6QMediaPlayer播放视频没有声音Qt5到Qt6时变动了许多类QMediaPlayer也在其中。曾经只需要这样即可播放视频。player=newQMediaPlayer(this);videoWidget=newQVideoWidget(this);videoWidget->resize(500,300);player->setVideoOutput(videoWidget);player->setMedia(QUrl::fromLocalFile("D:/video.mp4"));player->play();而如今需要这样 player=newQMediaPlayer(this
一、前言 在音频开发中,窗体多半为半透明、圆角窗体,如下为Qt5.5VS2013实现半透明方法总结。二、半透明方法设置 1、窗体及子控件都设置为半透明 1)setWindowOpacity(0.8);//参数范围为0-1.0,通过QSlider控件做成透明度控制条 2)无边框设置 setWindowFlags(Qt::FramelessWindowHint); 3)窗体圆角设置 setAttribute(Qt::WA_TranslucentBackground); 通过paintEvent绘制窗体背景色与圆角 voidWidget::paintEvent(QPaintEve
0.Qt可以构建跨平台的ui项目.走一波windows下Helloworld1.下载QTcreator当下版本是10了.下载速度极慢.需要30G的硬盘空间.2.安装成功后,开始菜单会产生如下效果:3.运行QTcreator10.0.1(community),如下:4.点击:创建项目 4.1 无需,理解显示的内容,选第一个就行 4.2注意路径也需要自己键入 4.3 选Cmake,(其他构建器不在流行) 4.4默认即可 4.5 4.6注意选MinGW这个才是跨平台 4.7 默认即可 5.完成创建后,选择编辑然后选中mainwndow.ui文件, 6.打开了ui设计器 ,从
Qt键盘事件处理——如何在Qt中监听按键操作在Qt中,使用键盘是很常见的操作。如何通过代码来实现键盘事件的监听和响应呢?本文将详细介绍在Qt中如何监听键盘事件,并实现一些基本的按键操作。在Qt中,所有的键盘事件都被封装成了一个QKeyEvent对象,我们只需要在需要监听键盘事件的控件上重新实现keyPressEvent()方法即可。该方法会在用户按下键盘时被自动调用,并传入一个QKeyEvent对象,其中包含了按下的键值、按键状态等信息。以下是一个简单的示例代码:voidMyClass::keyPressEvent(QKeyEvent*event){//判断是否按下了Esc键if(event-
qt默认的编码是unicode,它不能直接显示中文,因为中文的编码有多种,比如GBK、GB2312、GB18030等。所以需要使用一些方法来转换编码或者设置环境来解决中文显示的问题。根据搜索结果,我找到了以下几种方法:使用QString::fromLocal8Bit方法,它可以把本地编码(比如GBK)转换成unicode编码,并返回一个QString对象。例如1:ui->label->setText(QString::fromLocal8Bit("你好"));使用QTextCodec类,它可以设置全局或者局部的字符集编码,并提供一些静态方法来转换编码。例如2://设置全局字符集为UTF-8Q
一、tableviewtableview是用的比较多的一个控件之一,我们在展示数据或者表格的时候经常用到。二、使用步骤1、添加表头QStandardItemModel*m_pTipMdl=newQStandardItemModel();m_pTipMdl->setColumnCount(4);m_pTipMdl->setHeaderData(0,Qt::Horizontal,QString::fromLocal8Bit("种族名称"));m_pTipMdl->setHeaderData(1,Qt::Horizontal,QString::fromLocal8Bit("首发英雄"));m_pTi
之前做Mac应用开发,视图层是可以上下叠加显示的,然后回到QT这边开发,发现QT的布局上不能叠加显示,于是写了个简单的可以叠加QWidget的小Demo这是调用的代码:#include"mainform.h"#include"multilayoutwidget.h"#include#include#includeMainForm::MainForm(QWidget*parent):QWidget(parent){MultiLayoutWidget*multiWidget=newMultiLayoutWidget(this);QVBoxLayout*vlayout1=newQVBoxLayout
这里演示的是,控件大小随着窗口大小的改变而改变,做到控件大小适应窗口大小,适合初学者食用这里的知识点是重载 resizeEvent(QResizeEvent*re)函数,和重载event(QEvent*ev)函数1、打开QT,创建widget项目并画两个QLabel控件,等会代码中会用到 2、代码演示,篇幅原因,不放头文件代码,而且头文件代码也只声明了两个重载函数这里演示的代码全部写在cpp中,代码比较简单,初学者可以全部复制到自己的Demo中进行演示#include"widget.h"#include"ui_widget.h"#include#include#includeusingname
一、通过QFileDialog选择一个系统文件夹#include#includeQStringconfigDirectory=QFileDialog::getExistingDirectory(); qDebug()configDirectory;if(configDirectory.isEmpty())return;二、使用QDir打开并获取当前路径的所有文件夹名字#includeQDirdir(configDirectory);if(!dir.exists()){QMessageBox::critical(this,tr("错误"),tr("文件夹找不到"));return;}QStrin
在具体操作之前,我们先了解一下excel的层次结构,如图所示,Application对象–>Workbook对象–>Worksheet对象–>Range对象。1个excel有一个Application对象,1个Application对象有多个workbook对象组成,这些workbook对象由workbooks对象统一管理,workbook对象下包含若干个worksheet,这些worksheet对象由worksheets对象统一管理,worksheet下面的range对象,对应这worksheet里面的表格单元了。2.具体的操作流程如下:QAxWidgetexcel(“Excel.Appli